from dataclasses import dataclass

from src.application.common.dto import DTO
from src.domain.common.constants import Empty


@dataclass(frozen=True)
class CategoryDTO(DTO):
    id: int
    name: str
    name_eng: str
    price_4h: float
    price_1d: float
    price_1w: float
    price_2w: float
    price_1m: float


@dataclass(frozen=True)
class CategoriesDTO:
    categories: list[CategoryDTO]
    total: int
    offset: int | Empty = Empty.UNSET
    limit: int | Empty = Empty.UNSET
